/*
 * Auto generated C++ implementation for Mass Effect 2.
 *	by _silencer.
 */

#include "stdafx.h"
#include "unreal_game.h"

namespace game
{
	IMPLEMENT_PACKAGE_CLASS( HTTPDownload, Download, IpDrv )
	IMPLEMENT_PACKAGE_CLASS( OnlineSubsystemCommonImpl, OnlineSubsystem, IpDrv )
	IMPLEMENT_PACKAGE_CLASS( OnlineGameInterfaceImpl, Object, IpDrv )
	IMPLEMENT_PACKAGE_CLASS( TcpipConnection, NetConnection, IpDrv )
	IMPLEMENT_PACKAGE_CLASS( TcpNetDriver, NetDriver, IpDrv )


	UniqueNetId OnlineSubsystemCommonImpl::GetPlayerUniqueNetIdFromIndex( Int UserIndex )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineSubsystemCommonImpl.GetPlayerUniqueNetIdFromIndex" );

		struct GetPlayerUniqueNetIdFromIndexParams
		{
			Int UserIndex; //offset = 0, size = 4
			UniqueNetId ReturnValue; //offset = 4, size = 8
		} params;

		params.UserIndex = UserIndex;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	String OnlineSubsystemCommonImpl::GetPlayerNicknameFromIndex( Int UserIndex )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineSubsystemCommonImpl.GetPlayerNicknameFromIndex" );

		struct GetPlayerNicknameFromIndexParams
		{
			Int UserIndex; //offset = 0, size = 4
			String ReturnValue; //offset = 4, size = 12
		} params;

		params.UserIndex = UserIndex;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool OnlineGameInterfaceImpl::RecalculateSkillRating( Array<UniqueNetId> Players )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.RecalculateSkillRating" );

		struct RecalculateSkillRatingParams
		{
			Array<UniqueNetId> Players; //offset = 0, size = 12
			Bool ReturnValue: 1; //offset = 12, size = 4
		} params;

		params.Players = Players;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool OnlineGameInterfaceImpl::AcceptGameInvite( Byte LocalUserNum )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.AcceptGameInvite" );

		struct AcceptGameInviteParams
		{
			Byte LocalUserNum; //offset = 0, size = 1
			Bool ReturnValue: 1; //offset = 4, size = 4
		} params;

		params.LocalUserNum = LocalUserNum;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void OnlineGameInterfaceImpl::OnGameInviteAccepted( OnlineGameSettings* GameInviteSettings )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.OnGameInviteAccepted" );

		struct OnGameInviteAcceptedParams
		{
			OnlineGameSettings* GameInviteSettings; //offset = 0, size = 4
		} params;

		params.GameInviteSettings = GameInviteSettings;

		this->call_function( function, &params, 0 );
	}

	void OnlineGameInterfaceImpl::ClearGameInviteAcceptedDelegate( Byte LocalUserNum, GameInviteAcceptedDelegate GameInviteAcceptedDelegate )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.ClearGameInviteAcceptedDelegate" );

		struct ClearGameInviteAcceptedDelegateParams
		{
			Byte LocalUserNum; //offset = 0, size = 1
			GameInviteAcceptedDelegate GameInviteAcceptedDelegate; //offset = 4, size = 12
		} params;

		params.LocalUserNum = LocalUserNum;
		params.GameInviteAcceptedDelegate = GameInviteAcceptedDelegate;

		this->call_function( function, &params, 0 );
	}

	void OnlineGameInterfaceImpl::AddGameInviteAcceptedDelegate( Byte LocalUserNum, GameInviteAcceptedDelegate GameInviteAcceptedDelegate )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.AddGameInviteAcceptedDelegate" );

		struct AddGameInviteAcceptedDelegateParams
		{
			Byte LocalUserNum; //offset = 0, size = 1
			GameInviteAcceptedDelegate GameInviteAcceptedDelegate; //offset = 4, size = 12
		} params;

		params.LocalUserNum = LocalUserNum;
		params.GameInviteAcceptedDelegate = GameInviteAcceptedDelegate;

		this->call_function( function, &params, 0 );
	}

	Array<OnlineArbitrationRegistrant> OnlineGameInterfaceImpl::GetArbitratedPlayers()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.GetArbitratedPlayers" );

		struct GetArbitratedPlayersParams
		{
			Array<OnlineArbitrationRegistrant> ReturnValue; //offset = 0, size = 12
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void OnlineGameInterfaceImpl::ClearArbitrationRegistrationCompleteDelegate( ArbitrationRegistrationCompleteDelegate ArbitrationRegistrationCompleteDelegate )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.ClearArbitrationRegistrationCompleteDelegate" );

		struct ClearArbitrationRegistrationCompleteDelegateParams
		{
			ArbitrationRegistrationCompleteDelegate ArbitrationRegistrationCompleteDelegate; //offset = 0, size = 12
		} params;

		params.ArbitrationRegistrationCompleteDelegate = ArbitrationRegistrationCompleteDelegate;

		this->call_function( function, &params, 0 );
	}

	void OnlineGameInterfaceImpl::AddArbitrationRegistrationCompleteDelegate( ArbitrationRegistrationCompleteDelegate ArbitrationRegistrationCompleteDelegate )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.AddArbitrationRegistrationCompleteDelegate" );

		struct AddArbitrationRegistrationCompleteDelegateParams
		{
			ArbitrationRegistrationCompleteDelegate ArbitrationRegistrationCompleteDelegate; //offset = 0, size = 12
		} params;

		params.ArbitrationRegistrationCompleteDelegate = ArbitrationRegistrationCompleteDelegate;

		this->call_function( function, &params, 0 );
	}

	void OnlineGameInterfaceImpl::OnArbitrationRegistrationComplete( Bool bWasSuccessful )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.OnArbitrationRegistrationComplete" );

		struct OnArbitrationRegistrationCompleteParams
		{
			Bool bWasSuccessful: 1; //offset = 0, size = 4
		} params;

		params.bWasSuccessful = bWasSuccessful;

		this->call_function( function, &params, 0 );
	}

	Bool OnlineGameInterfaceImpl::RegisterForArbitration()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.RegisterForArbitration" );

		struct RegisterForArbitrationParams
		{
			Bool ReturnValue: 1; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void OnlineGameInterfaceImpl::ClearEndOnlineGameCompleteDelegate( EndOnlineGameCompleteDelegate EndOnlineGameCompleteDelegate, Int RemoveIndex )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.ClearEndOnlineGameCompleteDelegate" );

		struct ClearEndOnlineGameCompleteDelegateParams
		{
			EndOnlineGameCompleteDelegate EndOnlineGameCompleteDelegate; //offset = 0, size = 12
			Int RemoveIndex; //offset = 12, size = 4
		} params;

		params.EndOnlineGameCompleteDelegate = EndOnlineGameCompleteDelegate;
		params.RemoveIndex = RemoveIndex;

		this->call_function( function, &params, 0 );
	}

	void OnlineGameInterfaceImpl::AddEndOnlineGameCompleteDelegate( EndOnlineGameCompleteDelegate EndOnlineGameCompleteDelegate )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.AddEndOnlineGameCompleteDelegate" );

		struct AddEndOnlineGameCompleteDelegateParams
		{
			EndOnlineGameCompleteDelegate EndOnlineGameCompleteDelegate; //offset = 0, size = 12
		} params;

		params.EndOnlineGameCompleteDelegate = EndOnlineGameCompleteDelegate;

		this->call_function( function, &params, 0 );
	}

	void OnlineGameInterfaceImpl::OnEndOnlineGameComplete( Bool bWasSuccessful )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.OnEndOnlineGameComplete" );

		struct OnEndOnlineGameCompleteParams
		{
			Bool bWasSuccessful: 1; //offset = 0, size = 4
		} params;

		params.bWasSuccessful = bWasSuccessful;

		this->call_function( function, &params, 0 );
	}

	Bool OnlineGameInterfaceImpl::EndOnlineGame()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.EndOnlineGame" );

		struct EndOnlineGameParams
		{
			Bool ReturnValue: 1; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void OnlineGameInterfaceImpl::ClearStartOnlineGameCompleteDelegate( StartOnlineGameCompleteDelegate StartOnlineGameCompleteDelegate, Int RemoveIndex )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.ClearStartOnlineGameCompleteDelegate" );

		struct ClearStartOnlineGameCompleteDelegateParams
		{
			StartOnlineGameCompleteDelegate StartOnlineGameCompleteDelegate; //offset = 0, size = 12
			Int RemoveIndex; //offset = 12, size = 4
		} params;

		params.StartOnlineGameCompleteDelegate = StartOnlineGameCompleteDelegate;
		params.RemoveIndex = RemoveIndex;

		this->call_function( function, &params, 0 );
	}

	void OnlineGameInterfaceImpl::AddStartOnlineGameCompleteDelegate( StartOnlineGameCompleteDelegate StartOnlineGameCompleteDelegate )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.AddStartOnlineGameCompleteDelegate" );

		struct AddStartOnlineGameCompleteDelegateParams
		{
			StartOnlineGameCompleteDelegate StartOnlineGameCompleteDelegate; //offset = 0, size = 12
		} params;

		params.StartOnlineGameCompleteDelegate = StartOnlineGameCompleteDelegate;

		this->call_function( function, &params, 0 );
	}

	void OnlineGameInterfaceImpl::OnStartOnlineGameComplete( Bool bWasSuccessful )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.OnStartOnlineGameComplete" );

		struct OnStartOnlineGameCompleteParams
		{
			Bool bWasSuccessful: 1; //offset = 0, size = 4
		} params;

		params.bWasSuccessful = bWasSuccessful;

		this->call_function( function, &params, 0 );
	}

	Bool OnlineGameInterfaceImpl::StartOnlineGame()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.StartOnlineGame" );

		struct StartOnlineGameParams
		{
			Bool ReturnValue: 1; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void OnlineGameInterfaceImpl::ClearUnregisterPlayerCompleteDelegate( UnregisterPlayerCompleteDelegate UnregisterPlayerCompleteDelegate )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.ClearUnregisterPlayerCompleteDelegate" );

		struct ClearUnregisterPlayerCompleteDelegateParams
		{
			UnregisterPlayerCompleteDelegate UnregisterPlayerCompleteDelegate; //offset = 0, size = 12
		} params;

		params.UnregisterPlayerCompleteDelegate = UnregisterPlayerCompleteDelegate;

		this->call_function( function, &params, 0 );
	}

	void OnlineGameInterfaceImpl::AddUnregisterPlayerCompleteDelegate( UnregisterPlayerCompleteDelegate UnregisterPlayerCompleteDelegate )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.AddUnregisterPlayerCompleteDelegate" );

		struct AddUnregisterPlayerCompleteDelegateParams
		{
			UnregisterPlayerCompleteDelegate UnregisterPlayerCompleteDelegate; //offset = 0, size = 12
		} params;

		params.UnregisterPlayerCompleteDelegate = UnregisterPlayerCompleteDelegate;

		this->call_function( function, &params, 0 );
	}

	void OnlineGameInterfaceImpl::OnUnregisterPlayerComplete( Bool bWasSuccessful )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.OnUnregisterPlayerComplete" );

		struct OnUnregisterPlayerCompleteParams
		{
			Bool bWasSuccessful: 1; //offset = 0, size = 4
		} params;

		params.bWasSuccessful = bWasSuccessful;

		this->call_function( function, &params, 0 );
	}

	Bool OnlineGameInterfaceImpl::UnregisterPlayer( UniqueNetId PlayerID )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.UnregisterPlayer" );

		struct UnregisterPlayerParams
		{
			UniqueNetId PlayerID; //offset = 0, size = 8
			Bool ReturnValue: 1; //offset = 8, size = 4
		} params;

		params.PlayerID = PlayerID;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void OnlineGameInterfaceImpl::ClearRegisterPlayerCompleteDelegate( RegisterPlayerCompleteDelegate RegisterPlayerCompleteDelegate )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.ClearRegisterPlayerCompleteDelegate" );

		struct ClearRegisterPlayerCompleteDelegateParams
		{
			RegisterPlayerCompleteDelegate RegisterPlayerCompleteDelegate; //offset = 0, size = 12
		} params;

		params.RegisterPlayerCompleteDelegate = RegisterPlayerCompleteDelegate;

		this->call_function( function, &params, 0 );
	}

	void OnlineGameInterfaceImpl::AddRegisterPlayerCompleteDelegate( RegisterPlayerCompleteDelegate RegisterPlayerCompleteDelegate )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.AddRegisterPlayerCompleteDelegate" );

		struct AddRegisterPlayerCompleteDelegateParams
		{
			RegisterPlayerCompleteDelegate RegisterPlayerCompleteDelegate; //offset = 0, size = 12
		} params;

		params.RegisterPlayerCompleteDelegate = RegisterPlayerCompleteDelegate;

		this->call_function( function, &params, 0 );
	}

	void OnlineGameInterfaceImpl::OnRegisterPlayerComplete( Bool bWasSuccessful )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.OnRegisterPlayerComplete" );

		struct OnRegisterPlayerCompleteParams
		{
			Bool bWasSuccessful: 1; //offset = 0, size = 4
		} params;

		params.bWasSuccessful = bWasSuccessful;

		this->call_function( function, &params, 0 );
	}

	Bool OnlineGameInterfaceImpl::RegisterPlayer( UniqueNetId PlayerID, Bool bWasInvited )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.RegisterPlayer" );

		struct RegisterPlayerParams
		{
			UniqueNetId PlayerID; //offset = 0, size = 8
			Bool bWasInvited: 1; //offset = 8, size = 4
			Bool ReturnValue: 1; //offset = 12, size = 4
		} params;

		params.PlayerID = PlayerID;
		params.bWasInvited = bWasInvited;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool OnlineGameInterfaceImpl::GetResolvedConnectString( String ConnectInfo )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.GetResolvedConnectString" );

		struct GetResolvedConnectStringParams
		{
			String ConnectInfo; //offset = 0, size = 12
			Bool ReturnValue: 1; //offset = 12, size = 4
		} params;

		params.ConnectInfo = ConnectInfo;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void OnlineGameInterfaceImpl::ClearJoinOnlineGameCompleteDelegate( JoinOnlineGameCompleteDelegate JoinOnlineGameCompleteDelegate, Int RemoveIndex )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.ClearJoinOnlineGameCompleteDelegate" );

		struct ClearJoinOnlineGameCompleteDelegateParams
		{
			JoinOnlineGameCompleteDelegate JoinOnlineGameCompleteDelegate; //offset = 0, size = 12
			Int RemoveIndex; //offset = 12, size = 4
		} params;

		params.JoinOnlineGameCompleteDelegate = JoinOnlineGameCompleteDelegate;
		params.RemoveIndex = RemoveIndex;

		this->call_function( function, &params, 0 );
	}

	void OnlineGameInterfaceImpl::AddJoinOnlineGameCompleteDelegate( JoinOnlineGameCompleteDelegate JoinOnlineGameCompleteDelegate )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.AddJoinOnlineGameCompleteDelegate" );

		struct AddJoinOnlineGameCompleteDelegateParams
		{
			JoinOnlineGameCompleteDelegate JoinOnlineGameCompleteDelegate; //offset = 0, size = 12
		} params;

		params.JoinOnlineGameCompleteDelegate = JoinOnlineGameCompleteDelegate;

		this->call_function( function, &params, 0 );
	}

	void OnlineGameInterfaceImpl::OnJoinOnlineGameComplete( Bool bWasSuccessful )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.OnJoinOnlineGameComplete" );

		struct OnJoinOnlineGameCompleteParams
		{
			Bool bWasSuccessful: 1; //offset = 0, size = 4
		} params;

		params.bWasSuccessful = bWasSuccessful;

		this->call_function( function, &params, 0 );
	}

	Bool OnlineGameInterfaceImpl::JoinOnlineGame( Byte PlayerNum, OnlineGameSearchResult DesiredGame )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.JoinOnlineGame" );

		struct JoinOnlineGameParams
		{
			Byte PlayerNum; //offset = 0, size = 1
			OnlineGameSearchResult DesiredGame; //offset = 4, size = 8
			Bool ReturnValue: 1; //offset = 12, size = 4
		} params;

		params.PlayerNum = PlayerNum;
		params.DesiredGame = DesiredGame;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool OnlineGameInterfaceImpl::FreeSearchResults( OnlineGameSearch* Search )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.FreeSearchResults" );

		struct FreeSearchResultsParams
		{
			OnlineGameSearch* Search; //offset = 0, size = 4
			Bool ReturnValue: 1; //offset = 4, size = 4
		} params;

		params.Search = Search;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void OnlineGameInterfaceImpl::ClearCancelFindOnlineGamesCompleteDelegate( CancelFindOnlineGamesCompleteDelegate CancelFindOnlineGamesCompleteDelegate, Int RemoveIndex )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.ClearCancelFindOnlineGamesCompleteDelegate" );

		struct ClearCancelFindOnlineGamesCompleteDelegateParams
		{
			CancelFindOnlineGamesCompleteDelegate CancelFindOnlineGamesCompleteDelegate; //offset = 0, size = 12
			Int RemoveIndex; //offset = 12, size = 4
		} params;

		params.CancelFindOnlineGamesCompleteDelegate = CancelFindOnlineGamesCompleteDelegate;
		params.RemoveIndex = RemoveIndex;

		this->call_function( function, &params, 0 );
	}

	void OnlineGameInterfaceImpl::AddCancelFindOnlineGamesCompleteDelegate( CancelFindOnlineGamesCompleteDelegate CancelFindOnlineGamesCompleteDelegate )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.AddCancelFindOnlineGamesCompleteDelegate" );

		struct AddCancelFindOnlineGamesCompleteDelegateParams
		{
			CancelFindOnlineGamesCompleteDelegate CancelFindOnlineGamesCompleteDelegate; //offset = 0, size = 12
		} params;

		params.CancelFindOnlineGamesCompleteDelegate = CancelFindOnlineGamesCompleteDelegate;

		this->call_function( function, &params, 0 );
	}

	void OnlineGameInterfaceImpl::OnCancelFindOnlineGamesComplete( Bool bWasSuccessful )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.OnCancelFindOnlineGamesComplete" );

		struct OnCancelFindOnlineGamesCompleteParams
		{
			Bool bWasSuccessful: 1; //offset = 0, size = 4
		} params;

		params.bWasSuccessful = bWasSuccessful;

		this->call_function( function, &params, 0 );
	}

	Bool OnlineGameInterfaceImpl::CancelFindOnlineGames()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.CancelFindOnlineGames" );

		struct CancelFindOnlineGamesParams
		{
			Bool ReturnValue: 1; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void OnlineGameInterfaceImpl::ClearFindOnlineGamesCompleteDelegate( FindOnlineGamesCompleteDelegate FindOnlineGamesCompleteDelegate, Int RemoveIndex )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.ClearFindOnlineGamesCompleteDelegate" );

		struct ClearFindOnlineGamesCompleteDelegateParams
		{
			FindOnlineGamesCompleteDelegate FindOnlineGamesCompleteDelegate; //offset = 0, size = 12
			Int RemoveIndex; //offset = 12, size = 4
		} params;

		params.FindOnlineGamesCompleteDelegate = FindOnlineGamesCompleteDelegate;
		params.RemoveIndex = RemoveIndex;

		this->call_function( function, &params, 0 );
	}

	void OnlineGameInterfaceImpl::AddFindOnlineGamesCompleteDelegate( FindOnlineGamesCompleteDelegate FindOnlineGamesCompleteDelegate )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.AddFindOnlineGamesCompleteDelegate" );

		struct AddFindOnlineGamesCompleteDelegateParams
		{
			FindOnlineGamesCompleteDelegate FindOnlineGamesCompleteDelegate; //offset = 0, size = 12
		} params;

		params.FindOnlineGamesCompleteDelegate = FindOnlineGamesCompleteDelegate;

		this->call_function( function, &params, 0 );
	}

	Bool OnlineGameInterfaceImpl::FindOnlineGames( Byte SearchingPlayerNum, OnlineGameSearch* SearchSettings )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.FindOnlineGames" );

		struct FindOnlineGamesParams
		{
			Byte SearchingPlayerNum; //offset = 0, size = 1
			OnlineGameSearch* SearchSettings; //offset = 4, size = 4
			Bool ReturnValue: 1; //offset = 8, size = 4
		} params;

		params.SearchingPlayerNum = SearchingPlayerNum;
		params.SearchSettings = SearchSettings;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void OnlineGameInterfaceImpl::ClearDestroyOnlineGameCompleteDelegate( DestroyOnlineGameCompleteDelegate DestroyOnlineGameCompleteDelegate, Int RemoveIndex )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.ClearDestroyOnlineGameCompleteDelegate" );

		struct ClearDestroyOnlineGameCompleteDelegateParams
		{
			DestroyOnlineGameCompleteDelegate DestroyOnlineGameCompleteDelegate; //offset = 0, size = 12
			Int RemoveIndex; //offset = 12, size = 4
		} params;

		params.DestroyOnlineGameCompleteDelegate = DestroyOnlineGameCompleteDelegate;
		params.RemoveIndex = RemoveIndex;

		this->call_function( function, &params, 0 );
	}

	void OnlineGameInterfaceImpl::AddDestroyOnlineGameCompleteDelegate( DestroyOnlineGameCompleteDelegate DestroyOnlineGameCompleteDelegate )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.AddDestroyOnlineGameCompleteDelegate" );

		struct AddDestroyOnlineGameCompleteDelegateParams
		{
			DestroyOnlineGameCompleteDelegate DestroyOnlineGameCompleteDelegate; //offset = 0, size = 12
		} params;

		params.DestroyOnlineGameCompleteDelegate = DestroyOnlineGameCompleteDelegate;

		this->call_function( function, &params, 0 );
	}

	void OnlineGameInterfaceImpl::OnDestroyOnlineGameComplete( Bool bWasSuccessful )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.OnDestroyOnlineGameComplete" );

		struct OnDestroyOnlineGameCompleteParams
		{
			Bool bWasSuccessful: 1; //offset = 0, size = 4
		} params;

		params.bWasSuccessful = bWasSuccessful;

		this->call_function( function, &params, 0 );
	}

	Bool OnlineGameInterfaceImpl::DestroyOnlineGame()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.DestroyOnlineGame" );

		struct DestroyOnlineGameParams
		{
			Bool ReturnValue: 1; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool OnlineGameInterfaceImpl::UpdateOnlineGame( OnlineGameSettings* UpdatedGameSettings )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.UpdateOnlineGame" );

		struct UpdateOnlineGameParams
		{
			OnlineGameSettings* UpdatedGameSettings; //offset = 0, size = 4
			Bool ReturnValue: 1; //offset = 4, size = 4
		} params;

		params.UpdatedGameSettings = UpdatedGameSettings;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void OnlineGameInterfaceImpl::ClearCreateOnlineGameCompleteDelegate( CreateOnlineGameCompleteDelegate CreateOnlineGameCompleteDelegate, Int RemoveIndex )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.ClearCreateOnlineGameCompleteDelegate" );

		struct ClearCreateOnlineGameCompleteDelegateParams
		{
			CreateOnlineGameCompleteDelegate CreateOnlineGameCompleteDelegate; //offset = 0, size = 12
			Int RemoveIndex; //offset = 12, size = 4
		} params;

		params.CreateOnlineGameCompleteDelegate = CreateOnlineGameCompleteDelegate;
		params.RemoveIndex = RemoveIndex;

		this->call_function( function, &params, 0 );
	}

	void OnlineGameInterfaceImpl::AddCreateOnlineGameCompleteDelegate( CreateOnlineGameCompleteDelegate CreateOnlineGameCompleteDelegate )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.AddCreateOnlineGameCompleteDelegate" );

		struct AddCreateOnlineGameCompleteDelegateParams
		{
			CreateOnlineGameCompleteDelegate CreateOnlineGameCompleteDelegate; //offset = 0, size = 12
		} params;

		params.CreateOnlineGameCompleteDelegate = CreateOnlineGameCompleteDelegate;

		this->call_function( function, &params, 0 );
	}

	void OnlineGameInterfaceImpl::OnCreateOnlineGameComplete( Bool bWasSuccessful )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.OnCreateOnlineGameComplete" );

		struct OnCreateOnlineGameCompleteParams
		{
			Bool bWasSuccessful: 1; //offset = 0, size = 4
		} params;

		params.bWasSuccessful = bWasSuccessful;

		this->call_function( function, &params, 0 );
	}

	Bool OnlineGameInterfaceImpl::CreateOnlineGame( Byte HostingPlayerNum, OnlineGameSettings* NewGameSettings )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.CreateOnlineGame" );

		struct CreateOnlineGameParams
		{
			Byte HostingPlayerNum; //offset = 0, size = 1
			OnlineGameSettings* NewGameSettings; //offset = 4, size = 4
			Bool ReturnValue: 1; //offset = 8, size = 4
		} params;

		params.HostingPlayerNum = HostingPlayerNum;
		params.NewGameSettings = NewGameSettings;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	OnlineGameSearch* OnlineGameInterfaceImpl::GetGameSearch()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.GetGameSearch" );

		struct GetGameSearchParams
		{
			OnlineGameSearch* ReturnValue; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	OnlineGameSettings* OnlineGameInterfaceImpl::GetGameSettings()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.GetGameSettings" );

		struct GetGameSettingsParams
		{
			OnlineGameSettings* ReturnValue; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Byte OnlineGameInterfaceImpl::GetOnlineGameState()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.GetOnlineGameState" );

		struct GetOnlineGameStateParams
		{
			Byte ReturnValue; //offset = 0, size = 1
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void OnlineGameInterfaceImpl::OnFindOnlineGamesComplete( Bool bWasSuccessful )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function IpDrv.OnlineGameInterfaceImpl.OnFindOnlineGamesComplete" );

		struct OnFindOnlineGamesCompleteParams
		{
			Bool bWasSuccessful: 1; //offset = 0, size = 4
		} params;

		params.bWasSuccessful = bWasSuccessful;

		this->call_function( function, &params, 0 );
	}
}
